CSA Data Uploaderが「Snowflake内部ステージへのファイル連携」に対応しました
はじめに
クラスメソッドが展開しているデータ統合基盤サービス『CSアナリティクス』(以降"CSA")のプロダクト群の1つ、『Data Uploader』に、この度Snowflakeの内部ステージへ出力する機能を追加しました。
今回はこのSnowflakeの内部ステージ(以降"内部ステージ")へ接続し、ファイルをアップロードする方法について紹介いたします。
Snowflakeの内部ステージについては、以下の記事などを参考にしてください。
事前準備
事前にSnowflakeのアカウントを作成し、以下の情報を控えておいてください。
- アカウント識別子
- ユーザー名
- パスワード
Snowflake内部ステージ接続設定の準備
CSA Data Uploaderで内部ステージにアップロードするためには、まずSnowflakeへの接続情報を設定する必要があります。こちらの設定方法について記載いたします。
「設定」メニューより「接続設定」→「Snowflake内部ステージ」を選択。
Snowflake内部ステージ接続設定画面に遷移します。「追加」ボタンを押下します。
接続に必要な情報を設定します。「Snowflake接続名」には任意の識別文字列を、「アカウント識別子」「ユーザー名」「パスワード」にはアカウント固有の情報をそれぞれ入力、「保存」ボタンを押下します。
Snowflake内部ステージ接続設定が作成出来ました。
ファイルアップロード
ファイルのアップロードはCSA Data Uploaderの「ファイルアップロードジョブ」を使い、出力先として内部ステージを指定することで行います。「ファイルアップロードジョブ」については以下の記事を参考にしてください。
『Data Uploader』で実践!ファイルアップロード(Windowsローカル環境下の動画ファイルをAmazon S3にアップロード) #データ統合基盤 #CSアナリティクス
以下、「ファイルアップロードジョブ」を作成して内部ステージにアップロードする方法となります。
ジョブの作成
CSA Data Uploaderのジョブ一覧画面にて「ジョブを作成」を押下し、ジョブ種別に「ファイルアップロード」を指定する形でジョブを作成します。
ジョブの枠が出来ました。
入力処理の作成
内部ステージにアップロードするファイルを入力ファイルとして指定します。ジョブの入力側のボタンを押下し、表示される画面の入力種別に「ローカル接続」を指定します。
以下のような形で入力ファイルを指定します。
出力処理の作成 : Snowflake内部ステージへアップロード
次に出力処理を作成します。今回はアップロード先に「Snowflake内部ステージアップロード」を指定します。
「Snowflake接続名」では先の「Snowflake内部ステージ接続設定の準備」にて作成したSnowflake接続名を指定します。
アップロードステージ - ユーザーステージ
「アップロードステージ」ではアップロード先の内部ステージとして「ユーザーステージ」「テーブルステージ」「名前付きステージ」のいずれかを選択します。まずは「ユーザーステージ」を選択した場合です。
項目毎の内容は以下の通りです。
- パス: ユーザーステージ配下のフォルダのパスを記載します。指定内容は既存パス、またアップロード時点では存在していないパスのいずれも指定可能です。パス名にはCSA Data Uploaderで提供している「変数」を使うことも出来ます。
- ファイル名: アップロード対象のファイル名をどうするかを指定します。「入力時のファイル名を使用する」「任意のファイル名を入力」が選択出来ます。
今回はパスとして当日の値を組み込み、ファイル名はそのままアップロードする形で指定してみました。
アップロードステージ - テーブルステージ
次に「アップロードステージ」にて「テーブルステージ」を選択した場合です。
項目毎の内容は以下の通りです。
- データベース: アップロード先のテーブルが存在するデータベースを指定します。
- スキーマ : アップロード先のテーブルが存在するスキーマを指定します。
- テーブル: アップロード先のテーブルを指定します。
「パス」と「ファイル名」については「ユーザーステージ」などと同じであり、テーブルステージ内の入力したパスに指定したファイル名でアップロードされます。全てに入力すると以下のようになります。
アップロードステージ - 名前付きステージ
最後に「アップロードステージ」にて「名前付きステージ」を選択した場合です。
項目毎の内容は以下の通りです。
- ステージ名 : アップロードするステージを指定します。
「パス」と「ファイル名」については「ユーザーステージ」などと同じであり、名前付きステージ内の入力したパスに指定したファイル名でアップロードされます。全てに入力すると以下のようになります。
ここまで入力すると「ユーザーステージ」「テーブルステージ」「名前付きステージ」のいずれでも「アップロード先 ファイル名イメージ」に想定されるアップロード先ファイルパスが表示されます。「保存」ボタンを押下します。
ジョブ詳細
これで一連のジョブ設定が出来上がりました。ジョブ詳細画面を開くと作成したジョブが表示されます。
ファイルアップロードジョブの実行&結果確認
ここまでで作成したジョブを実行し、内部ステージへのアップロードを実行してみます。上記の「アップロードステージ」で「ユーザーステージ」を選択して入力した状態で実行してみます。
ジョブ詳細で「保存して実行」を押下し、実行種別は「現在の日時で実行」で試してみます。
処理が完了すると画面右上に完了通知メッセージが表示されます。
実行結果は履歴として確認可能です。メニューの「参照」→「ジョブ実行履歴」に遷移し、対象ジョブの履歴表示アイコンを選択します。以下のように、実行結果を履歴として確認出来ました。
Snowflakeにて「アップロード先 ファイル名イメージ」に出ていたパスのファイルが存在するかを確認します。
まとめ
CSA Data UploaderでSnowflake内部ステージにファイルをアップロードする手順の紹介でした。CSA Data Uploaderは1ヶ月間のトライアル利用が可能となっています。興味をお持ち頂いた方は是非無料版ダウンロードページからインストーラを入手頂き、お試し頂けますと幸いです。